from rest_framework import serializers
from goods.models import SPUSpecification,SPU

class SPUSpecificationSerializer(serializers.ModelSerializer):
    '''
    商品规格序列化器
    '''

    # 在SPUSpecification模型表中有一个SPU表的外键
    # 关联序列化返回的StringRelatedField，返回关联表的str的内容
    spu = serializers.StringRelatedField(read_only=True) # spu名称
    # 在数据库保存关联字段，使用id的形式保存的
    spu_id = serializers.IntegerField()

    class Meta:
        # 指定生成序列化字段的模型类
        model = SPUSpecification
        # 指定字段(根据前端页面展示的字段可知，需要返回至少下面四个)
        fields = ('id', 'name', 'spu', 'spu_id')


# spu商品列表序列化器
class SPUSerialzier(serializers.ModelSerializer):
    """
        SPU商品序列化器
    """
    class Meta:
        # 指定生成序列化字段的模型类
        model = SPU
        # 指定字段
        fields = ('id', 'name')